<html xmlns="http://www.w3.org/1999/xhtml"  
      xmlns:h="http://java.sun.com/jsf/html"  
      xmlns:f="http://java.sun.com/jsf/core"  
      xmlns:p="http://primefaces.org/ui"
      xmlns:ui="http://java.sun.com/jsf/facelets"> 

    <ui:composition template="../index.xhtml">
        <ui:define name="conteudo">
            <h:form id="tituloPagina">
                <h:outputText value="Cadastro de fornecedores"/>
            </h:form>
            <h:form id="formTabela">
                <p:growl/>
                <p:dataTable id="listContasPagar" var="forn" value="#{fornecedorControler.listFornecedores}" widgetVar="carsTableAtivos" 
                             rowKey="#{forn.id}" selectionMode="single"  emptyMessage="Nenhum registro foi encontrado!" paginator="true" rows="10" rowsPerPageTemplate="5,10,15,#{fornecedorControler.listFornecedores.size()}">
                    <f:facet name="header" >  
                        <p:outputPanel>  
                            <h:outputText value="Busca padrão" />
                            <p:inputText id="globalFilter" onkeyup="carsTableAtivos.filter()" style="width:150px" /> 
                            <p:commandButton value="Novo" accesskey="N" onclick="dlgfornecedor.show()" action="#{fornecedorControler.inicializaObj()}" update=":formAdd"/>
                        </p:outputPanel>  
                    </f:facet>  
                    <p:column filterBy="${forn.razaoSocial}" headerText="Razão Social" footerText="Razão Social" sortBy="#${forn.razaoSocial}">    
                        <h:outputText value="${forn.razaoSocial}" />  
                    </p:column> 
                    <p:column filterBy="${forn.nomeFantasia}" headerText="Nome fantasia" footerText="Nome fantasia" sortBy="#${forn.nomeFantasia}">    
                        <h:outputText value="${forn.nomeFantasia}" />  
                    </p:column> 
                    <p:column filterBy="${forn.telefone1}" headerText="Telefone(s)" footerText="Telefone(s)" sortBy="${forn.telefone1}">    
                        <h:outputText value="${forn.telefone1}" title="#{forn.telefone2}" />  
                    </p:column> 
                    <p:column filterBy="${forn.cnpj}" headerText="Cnpj" footerText="Cnpj" sortBy="${forn.cnpj}">  
                        <h:outputText value="${forn.cnpj}"/>
                    </p:column>  
                    <p:column filterBy="${forn.inscricaoEstadual}" headerText="Inscrição estadual" footerText="Inscrição estadual" sortBy="#${forn.inscricaoEstadual}">    
                        <h:outputText value="${forn.inscricaoEstadual}" />  
                    </p:column> 
                </p:dataTable>
            </h:form>
            <p:dialog id="dialogFunc" header="Novo fornecedor" widgetVar="dlgfornecedor" modal="true" resizable="false" appendToBody="true">  
                <h:form id="formAdd">
                    <p:messages id="msg"/>
                    <h:inputHidden value="#{fornecedorControler.fornecedor.id}"/>
                    <h:panelGrid columns="4">

                        <h:panelGrid columns="1">
                            <h:outputText value="Código"/>
                            <p:inputText value="#{fornecedorControler.fornecedor.id}" disabled="true" />
                        </h:panelGrid>

                        <h:panelGrid columns="1">
                            <h:outputText value="CNPJ" id="cnpj"/>
                            <p:inputMask mask="99.999.999/9999-99"  value="#{fornecedorControler.fornecedor.cnpj}" id="inpcnpj" required="true" requiredMessage="O CNPJ é obrigatório">
                                <p:ajax event="blur" update="msg" listener="#{fornecedorControler.validaCpfCnpj()}"/>
                            </p:inputMask>
                        </h:panelGrid>

                        <h:panelGrid columns="1">
                            <h:outputText value="Inscricão Estadual" id="ie"/>
                            <p:inputMask mask="99.999.999-9" id="inpie" value="#{fornecedorControler.fornecedor.inscricaoEstadual}" required="true" requiredMessage="A inscrição estadual é obrigatória"/>
                        </h:panelGrid>

                        <h:panelGrid columns="1">
                            <h:outputText value="Inscricão Municipal" id="im"/>
                            <p:inputText id="inpIM" value="#{fornecedorControler.fornecedor.inscricaoMunicipal}" />
                        </h:panelGrid>

                        <h:panelGrid columns="1">
                            <h:outputText value="Razão Social" id="rggg"/>
                            <p:inputText value="#{fornecedorControler.fornecedor.razaoSocial}" id="inprgs" required="true" requiredMessage="A Razão Social é obrigatório" />
                        </h:panelGrid>

                        <h:panelGrid columns="1">
                            <h:outputText value="Nome Fantasia" id="rgg"/>
                            <p:inputText value="#{fornecedorControler.fornecedor.nomeFantasia}" id="inprgss" />
                        </h:panelGrid>

                        <h:panelGrid columns="1">
                            <h:outputText value="Email:"/>
                            <p:inputText value="#{fornecedorControler.fornecedor.email}"/>
                        </h:panelGrid>

                        <h:panelGrid columns="1">
                            <h:outputText value="Telefone1:"/>
                            <p:inputMask mask="(99)9999-9999" value="#{fornecedorControler.fornecedor.telefone1}"/>
                        </h:panelGrid>

                        <h:panelGrid columns="1">
                            <h:outputText value="Telefone2:"/>
                            <p:inputMask mask="(99)9999-9999" value="#{fornecedorControler.fornecedor.telefone2}"/>
                        </h:panelGrid>

                        <h:panelGrid columns="1">
                            <h:outputText value="Contato: "/>
                            <p:inputText value="#{fornecedorControler.fornecedor.contato}"/>
                        </h:panelGrid>

                        <h:panelGrid columns="1">
                            <h:outputText value="Cep:"/>
                            <p:inputMask mask="99999-999" value="#{fornecedorControler.fornecedor.cep}"/>
                        </h:panelGrid>

                        <h:panelGrid columns="1">
                            <h:outputText value="Logradouro:"/>
                            <p:inputText value="#{fornecedorControler.fornecedor.logradouro}" />
                        </h:panelGrid>

                        <h:panelGrid columns="1">
                            <h:outputText value="Número:"/>
                            <p:inputText value="#{fornecedorControler.fornecedor.numero}" />
                        </h:panelGrid>

                        <h:panelGrid columns="1">
                            <h:outputText value="Bairro:"/>
                            <p:inputText value="#{fornecedorControler.fornecedor.bairro}" />
                        </h:panelGrid>

                        <h:panelGrid columns="1">
                            <h:outputText value="Estado: "/>
                            <p:selectOneMenu value="#{fornecedorControler.fornecedor.idCidade.estado}" style="width: 150px;">
                                <f:selectItems value="#{fornecedorControler.retornaEstados()}" var="estado" itemValue="#{estado}" itemLabel="#{estado}"/> 
                                <p:ajax event="change" update="cidade" listener="#{fornecedorControler.carregaCidades()}"/>
                            </p:selectOneMenu>
                        </h:panelGrid>

                        <h:panelGrid columns="1">
                            <h:outputText value="Cidade: "/>
                            <p:selectOneMenu value="#{fornecedorControler.fornecedor.idCidade.id}" id="cidade" style="width: 150px;">
                                <f:selectItem itemValue="0" itemLabel="Selecione"/>
                                <f:selectItems value="#{fornecedorControler.listCidades}" var="cid" itemValue="#{cid.id}" itemLabel="#{cid.cidade}"/> 
                            </p:selectOneMenu>
                        </h:panelGrid>
                    </h:panelGrid>

                    <h:panelGrid columns="3">
                        <p:commandButton value="Salvar" accesskey="S" action="#{fornecedorControler.salvar()}" update="formAdd :formTabela" onclick="statusDialog.show();" onsuccess="statusDialog.hide();"/>
                        <p:commandButton value="Novo" accesskey="N" update=":formAdd" action="#{fornecedorControler.inicializaObj()}" process="@this"/>
                        <p:commandButton value="Cancelar" accesskey="C" onclick="dlgfornecedor.hide()" process="@this"/>
                    </h:panelGrid>
                </h:form>
                <!-- confirmações  de exclusão-->
                <h:form>
                    <p:confirmDialog id="confirmDialog" message="Confirma excluir o fornecedor?" appendToBody="true"
                                     header="Atenção!!!" severity="alert" widgetVar="confirmationExcluirfornecedor" >  
                        <p:commandButton id="confirm" value="Sim" oncomplete="confirmationExcluirfornecedor.hide()"  
                                         actionListener="#{fornecedorControler.excluir()}" update=":formTabela"/>  
                        <p:commandButton id="decline" value="Cancelar" onclick="confirmationExcluirfornecedor.hide()" type="button" />   
                    </p:confirmDialog>
                </h:form>
            </p:dialog>
        </ui:define>
    </ui:composition>
</html>